from numpy import *
from pylab import *


t=[]
p=[]

for i in range(1024):
    r = (255/2)*(1+cos(2*pi*i/160))
    p.append(int(r))


#z=a

b=2
d=[]

for a in p:

#a=input("ingrese un numero entero ")



###########  Conversion a binario ##############################################
    while a>=2:
        b=a%2
        c=a/2
        a=c
        d.append(b)
    d.append(1)

######## Aqui se completan los ocho bits en caso de ser nesesario  ############

    if len(d)<8:
        while len(d)<8:
            d.append(0)

#########################################################################


################## Se ponen los numeros en el orden adecuado ############# 
    l=[]
    u=0

    for k in range(len(d)):
        u=u+1
        l.append(d[-u])
##########################################################################




###############  Conversion de binario a Gray #############################

    h=[]

    h.append(l[0])


    for i in range(7):
        if l[i]+l[i+1]==1:
            h.append(1)
        if l[i]+l[i+1]==0:
            h.append(0)
        if l[i]+l[i+1]==2:
            h.append(0)

###########################################################################

    t.append(h)

#print ""
#print "Decimal ",z
#print "Binario ",l
#print "Gray    ",h
#print ""

r=[]
g=[]

for w in range(8):
    for y in t:
        r.append(y[w])
    g.append(r)        
    r=[]

print len(t)
print len(g)
print len(g[0])

#print t[0][6]

#print g[4]
#print t


m=zeros((768,1024))


for f in range(8):
    
    for i in range(1024):
        for j in range(768):    
            m[j][i]=m[j][i]+g[f][i]
    
     
    figure()
    #title("i=",f)
    imshow(m,cmap="gray")
    m=zeros((768,1024))
    
show()

#print len(g)
#print len(g[1])
